This is an advanced version of my last month's submission. Now supports richtextboxes AND textboxes. You still only need to add two class files and a few lines of code to your VB project to add the multiple undo feature to any richtextbox or textbox. For more information read the readme.txt included in the zip file, please. -- Again, thanks to MrBobo for his ideas and suggestions. -- Time and Type (deletion, modification, addition)of an undo snapshot is tracked. Thanks to Andrea Moro for this idea.
API DeclarationsPrivate Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
(ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function InvalidateClientRect Lib "user32" Alias "InvalidateRect" _
(ByVal hWnd As Long, ByVal lpRect As Long, ByVal bErase As Long) As Long
Private Const WM_SETREDRAW = &HB
Private Const EM_LINESCROLL = &HB6
Private Const EM_GETFIRSTVISIBLELINE = &HCE
'
'
'Example API Declarations:
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
(ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const WM_CUT = &H300
Private Const WM_COPY = &H301
Private Const WM_PASTE = &H302